layui.use(['table','form'], function() {
    var table = layui.table
        , form = layui.form
        , $ = layui.$;
    var tableName = 'course';
    var url = '/Class/course/getAllCourses';
    //课程表
    table.render({
        elem: '#course',
        height: 'full-70',
        url: '/Class/course/getAllCourses', //数据接口
        title: '课程表',
        page: true ,//开启分页
        toolbar: '#barbtn', //开启工具栏，此处显示默认图标，可以自定义模板，详见文档
        limits:[10,20,30,40],
        cols:
            [[ //表头
                { type: 'checkbox',fixed: 'left'},
                { field: 'id',title: 'ID',sort: true,hide: true},
                { field: 'courseCode',title: '课程代码', sort: true},
                { field: 'courseName',title: '课程名', sort: true},
                { field: 'point',title: '学分', sort: true},
                { field: 'type',title: '课程类型', templet: (d) =>{
                    let type = d.type;
                    let str = '';
                    switch (type) {
                        case 0: str = '必修课';break;
                        case 1: str = '选修课';break;
                        case 2: str = '通识教育';break;
                        default : break;
                    }
                    return str;
                    }},
                { fixed: 'right', width: 165, align:'center', toolbar: '#barDemo'}
            ]]
    });
    //监听行工具事件
    table.on('tool(tool)',function (obj) {
        let data=obj.data;
        let layEvent=obj.event;
        if(layEvent=="delete")
        {
            utils.del($, data, tableName, url);
        }else if(layEvent == 'update'){
            sessionStorage.setItem('editType', 1);//设置session 修改类型
            sessionStorage.setItem('data', JSON.stringify(obj.data)) //键值
            layer.open({
                type:2,
                title:'修改课程',
                area: ['35%','60%'],
                content:'../add/courseAdd.html'
            });
        }
    });
    //监听头工具栏事件
    table.on('toolbar(tool)', function(obj){
        let checkStatus = table.checkStatus(obj.config.id)//复选框数据
            ,data = checkStatus.data; //获取选中的数据 数组
        let arr=new Array();
        for(let i in data)
        {
            arr[i]=data[i].id;//取出id到列表
        }
        switch(obj.event){
            case 'add':
                layer.open({
                    type:2,
                    title:'新增课程',
                    area: ['35%','60%'],
                    content:'../add/courseAdd.html'
                });
                break;
            case 'update':
                break;
            case 'delete':
                utils.delete($, data, tableName, arr);
                break;
        };
    });
    //进行模糊查询 (用户名和类型)
    form.on('submit(search)', function(data){
        var type= $("select option:selected").val();
        table.reload('course', {
            url:'/Class/course/selectByLike',
            where: { //设定异步数据接口的额外参数，任意设
                "value":$('#searchName').val() || "",'type':type
            }
            ,page: {
                curr: 1 //重新从第 1 页开始
            }
        }); //只重载数据
        return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });
});
